Page({
    /**
     * 页面的初始数据
     */
    data: {
        error_msg: '', // 异常信息
        isRegister: false, // 是否为注册页面
        inputValue: '', // 输入框的值
    },

    // 检测是否已登录
    onLoad(){
        if(wx.getStorageSync('me') && wx.getStorageSync('ta_id')){
            wx.redirectTo({
              url: '/pages/heartbeat/heartbeat',
            })
        }else if(wx.getStorageSync('me')){
            wx.redirectTo({
              url: '/pages/index/index',
            })
        }
    },

    // 获取用户名
    getUsername: function (res) {
        var that = this
        var username = res.detail.value
        // 校验用户名
        if (!username || username.trim() == '') {
            this.setData({
                error_msg: '用户名不能为空'
            })
        } else if (username.length > 3) {
            this.setData({
                error_msg: '昵称限制在1-3位'
            })
        } else {
            this.username = username
            // 如果是注册业务 需要判断昵称是否已存在
            if (this.data.isRegister) {
                wx.request({
                    url: 'http://localhost:8888/user/username/exist',
                    data: {
                        username: username
                    },
                    success: function (res) {
                        console.log(res.data);
                        if (res.data.code != 1000) {
                            that.setData({
                                error_msg: res.data.msg
                            })
                        } else {
                            that.setData({
                                error_msg: ''
                            })
                        }
                    }
                })
            } else {
                that.setData({
                    error_msg: ''
                })
            }
        }
    },

    // 获取密码
    getPassword: function (res) {
        var mima = res.detail.value
        // 校验密码
        if (!mima || mima.trim() == '') {
            this.setData({
                error_msg: '密码不能为空'
            })
        } else if (mima < 3) {
            this.setData({
                error_msg: '密码需大于3位'
            })
        } else {
            this.password = mima
            this.setData({
                error_msg: ''
            })
        }
    },

    // 获取姓名
    getName: function (res) {
        var name = res.detail.value
        if (name.length > 3) {
            this.setData({
                error_msg: '昵称限制在1-3位'
            })
        } else {
            this.name = name
            this.setData({
                error_msg: ''
            })
        }
    },

    // 点击登陆 判断有无昵称和密码信息
    loginClick: function () {
        // 校验
        if (!this.username || !this.password) {
            this.setData({
                error_msg: '请填写所有信息'
            })
        } else {
            this.login();
        }
    },
    // 登录
    login: function () {
        var that = this
        wx.request({
            url: 'http://localhost:8888/user/login',
            data: {
                username: this.username,
                password: this.password
            },
            method: 'GET',
            success: function (res) {
                console.log(res.data);
                // 用户不存在 
                if (res.data.code != 1000) {
                    that.setData({
                        error_msg: '账户或密码错误'
                    })
                } else {
                    // 登陆成功跳转首页
                    console.log("登陆成功");
                    // 保存登陆信息
                    wx.setStorage({
                        key: "me",
                        data: res.data.data
                    })

                    // 判断登陆用户是否有对象
                    if (res.data.data.loveId) {
                        // 保存对象id
                        wx.setStorage({
                            key: "ta_id",
                            data: res.data.data.loveId,
                            success: () => {
                                wx.showToast({
                                    title: '登陆成功',
                                    icon: 'fail',
                                    duration: 1000,
                                    success: function () {
                                        setTimeout(function () {
                                            wx.redirectTo({
                                                url: '/pages/heartbeat/heartbeat'
                                            })
                                        }, 1000)
                                    }
                                })
                            }
                        })
                    } else { // 没有对象 跳首页
                        wx.showToast({
                            title: '登陆成功',
                            icon: 'fail',
                            duration: 1000,
                            success: function () {
                                setTimeout(function () {
                                    wx.redirectTo({
                                        url: '/pages/index/index'
                                    })
                                }, 1000)
                            }
                        })
                    }
                }
            }
        })
    },

    // 点击注册
    registerClick: function () {
        // 校验
        if (!this.username || !this.password || !this.name) {
            this.setData({
                error_msg: '请填写所有信息'
            })
        } else {
            this.register()
        }
    },
    // 注册
    register: function () {
        var that = this
        wx.request({
            url: 'http://localhost:8888/user/register',
            method: "POST",
            data: {
                username: this.username,
                password: this.password,
                name: this.name
            },
            success: function (res) {
                console.log(res.data);
                if (res.data.code == 1000) {
                    // 提示
                    wx.showToast({
                        title: '注册成功',
                        icon: 'success',
                        duration: 2000,
                        success: function () {
                            setTimeout(() => {
                                // 跳到登陆
                                that.setData({
                                    isRegister: false,
                                    inputValue: ''
                                })
                            }, 2000);
                        }
                    })
                } else {
                    wx.showToast({
                        title: res.data.msg,
                        icon: 'error'
                    })
                }
            }
        })
    },

    // 点击跳转注册或者取消按钮
    changeIs() {
        this.setData({
            isRegister: !this.data.isRegister,
            error_msg: '',
            inputValue: ''
        })
        this.username = this.password = this.name = ''
    }
})